Head-of-line blocking (HOL blocking) is a performance-limiting phenomenon that occurs in buffered telecommunication network switches.
Contents |
A switch may be composed of buffered input ports, a switch fabric and buffered output ports. If First-in first-out (FIFO) input buffers are used, only the oldest packet is available for forwarding. More recent arrivals cannot be forwarded if the oldest packet cannot be forwarded because its destination output is busy. Without HOL blocking, the new arrivals could potentially be forwarded around the stuck packet to their respective destinations. The phenomenon can have severe performance-degrading effects in input-buffered systems.
This phenomenon limits the throughput of switches. For FIFO input buffers, a simple model of fixed-sized cells to uniformly distributed destinations, causes the throughput to be limited to 58.6% of the total as the number of links becomes large.[1]
HOL can significantly increase packet reordering.[2]
One way to overcome this limitation is by using Virtual Output Queues.[3] Only switches with input buffering can suffer HOL blocking. With sufficient internal bandwidth, input buffering is unnecessary; all buffering is handled at outputs and HOL blocking is avoided. This no-input-buffering architecture is common in small to medium sized Ethernet switches.